import java.util.Random;

public class KuoZhanZuoYe_02 {
    public static void main(String[] args) {
        String c=getCode();
        System.out.println("至少包含一个数字的随机验证码是:"+c);
    }
    //自定义一个方法,完成随机生成一个6位数的验证码
    private static String getCode() {
        Random r = new Random();
        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <=6 ; i++) {
            int code = r.nextInt(122-48+1)+48;
            if((code>=58&&code<=64) || (code>=91&&code<=96) ){
                //非法字符
                i--;//补一次循环的机会
                continue;
            }
            //代码能执行到这里,就证明此时的code一定是合法的,可以拼接
            sb.append((char)code);
        }
        //代码执行到这里就能得到6位数的验证码了,但是无法保证至少有一个数字,接下来解决数字问题
        int i = r.nextInt(57 - 48 + 1) + 48;
        sb.setCharAt(r.nextInt(6),(char)i);//r.nextInt(6) 表示随机索引  (char)i表示把随机数字转成字符数字
        return sb.toString();
    }
}